Method and system for downloading and storing interactive device content using the horizontal overscan portion of a video signal

ABSTRACT

A method and system for decoding and storing encoded control data delivered via the horizontal overscan area of a video signal. An interactive device such as an interactive toy performs behavior defined by control data that can be encoded into a video signal that can be broadcast or played-back from video tape. The interactive device is equipped with a non-volatile memory that permits the control data to be stored for performance subsequent to the transmission session (e.g., a televised program). The interactive device also may be equipped to perform behavior during the transmission session. The control data is delivered as a series of control data words that include genus codes and sequence codes. Genus codes identify the interactive device to which the data word is directed, so that a particular interactive device will respond (i.e., perform behavior) only in accordance with the control data words including the appropriate genus code. Because video transmissions are subject to video signal deterioration, error grading is used to minimize the effect of such signal deterioration. During a given control data transmission session, control data words will be repeated, so that an interactive device receives several control data words with the same sequence number. Based on the relative gradings, the interactive device will replace previously received control data words of lower quality than subsequently received data words having the same sequence number.

TECHNICAL FIELD

The present invention relates to data communication systems and, moreparticularly, relates to encoding interactive device data in thehorizontal overscan portion of a video signal and storing the datawithin an interactive device.

BACKGROUND OF THE INVENTION

Interactive devices have become very popular with consumers. One exampleof an interactive device is an interactive toy, which is a toy thatresponds to input from an external data source, such as a user or avideo signal. Interactive toys are commonly implemented in the form of achild's doll, such as a teddy bear. An interactive toy will usually becapable of speech and/or motion, collectively referred to as interactivetoy behavior. One example of an interactive toy responds to soundimpulses, such as the speech of a user other noises in a room. Anotherkind of interactive toy responds to data that is delivered by a datastream, such as data delivered via a video signal or over an Internetconnection.

Transmitting behavior data via a video signal provides the advantage ofenabling the coordination of a video program with a particularinteractive device. For example, behavior data can be transmitted to ateddy bear interactive toy during a television program about the sameteddy bear. Thus, the behavior of the teddy bear interactive toy can becoordinated with events occurring in the televised program. For example,the teddy bear interactive toy might sing and dance in concert withcharacters in the televised program.

Providing interactive data to an interactive toy via a video signal hasbeen implemented in various ways. In an early implementation of such aninteractive toy, behavior data was transmitted to the interactive toy ina portion of a video signal that was not viewable by the user watchingthe program. The interactive toy received the data by monitoring thevideo signal and extracting the behavior data from the non-viewableportion. Unfortunately, in this implementation the behavior data wastransmitted in a portion of the signal that was not reproduced when thevideo transmission was stored on video tape. Thus, the behavior datacould only be transmitted via a television broadcast and could not betransmitted via a video taped program. This deficiency limited themarket for such interactive toys, as it is desirable to provide behaviordata on video tapes that can be sold in conjunction with the interactivetoy.

Another approach to transmitting behavior data via a video signal variedthe brightness of portions of a video image. This approach provided thebenefit of being reproducible on video tape, as the behavior data wastransmitted as part of the viewable video signal. The brightnessvariations were associated with predetermined behavior data. When theinteractive toy was placed directly in front of the television screendisplaying the video image, a decoder on the interactive toy wouldtranslate the brightness variations into behavior data. While thisapproach permitted the behavior data to be stored on video tape, theapproach had other shortcomings. Most notably, the image which refreshesonly 60 times per second, makes this approach unsuitable for mostapplications requiring significant data throughput rates.

One of the more recent implementations of behavior data transmissiontechnology uses the horizontal overscan portion of a video signal totransmit data to an interactive toy. Advantageously, the horizontaloverscan portion of the video signal is reproducible on video tape. Theachievable data transmission rate is limited by the much fasterhorizontal refresh rate of the video. The video signal can be decodedeither by a separate decoder unit or by the toy itself to extract thebehavior data. Once the data has been decoded, the data can be used tocause the toy to perform various speech or actions. Usually, thistechnology is implemented by transmitting the interactive toy contentdata during a television show or throughout a program recorded on avideo tape.

Unfortunately, interactive toys existing in the prior art were unable toretain the ability to perform the actions defined by the extracted data.That is, once the data transmission was ceased (i.e., the televisionshow or video taped program ended), then the toy lost its ability toperform the actions defined by the interactive toy content data. Thisproblem exists for two reasons: 1) prior art interactive toys do notinclude a programmable non-volatile memory; and 2) prior art video dataencoding systems did not provide enough bandwidth to transfer enoughdata to support such behavior retention.

Therefore, there is a need for a system capable of deliveringinteractive toy content data to an interactive toy at a high datathroughput rate and for enabling the toy to retain the behavior definedin the interactive toy content data. The system should be able to bedeployed over any means of delivering a video signal, such as viatelevision antenna, cable television, or video tape. The system shouldbe robust, such that the effects of data transmission errors can beminimized.

SUMMARY OF THE INVENTION

The present invention meets the needs described above by providing amethod and system for decoding and storing control data transmitted inthe horizontal overscan portion of a video signal. An interactive devicesuch as an interactive toy performs behavior defined by control datathat can be encoded into a video signal that can be broadcast orplayed-back from video tape. The interactive device is equipped with anon-volatile memory that permits the control data to be stored forperformance subsequent to the transmission session (e.g., a televisedprogram). The interactive device also may be equipped to performbehavior during the transmission session. The control data is deliveredas a series of control data words that include genus codes and sequencecodes. Genus codes identify the interactive device to which the dataword is directed, so that a particular interactive device will respond(i.e., perform behavior) only in accordance with the control data wordsincluding the appropriate genus code. Because video transmissions aresubject to video signal deterioration, error grading is used to minimizethe effect of such signal deterioration. During a given control datatransmission session, control data words will be repeated, so that aninteractive device receives several control data words with the samesequence number. Based on the relative gradings, the interactive devicewill replace previously received control data words of lower qualitythan subsequently received data words having the same sequence number.

In one aspect of the invention, a method is provided for delivering andstoring interactive device control data using the horizontal overscanportion of a video signal. The video signal is received during atransmission session, such as a television program or a video tapedprogram. Control data is extracted from the horizontal overscan portionof the video signal. After the transmission session has ended, theinteractive device performs behavior defined by the control data.

In another aspect of the invention, a system is provided for deliveringand storing interactive device control data using the horizontaloverscan portion of a video signal. A decoder extracts control data froma horizontal overscan portion of a video signal during a transmissionsession, such as a television program or a video taped program. Theinteractive device performs the behavior defined by the control data.The interactive device has a non-volatile memory for storing the controldata during the transmission session for use by the interactive deviceafter the transmission session. The interactive device also has acontroller for retrieving the control data from the non-volatile memoryand for causing the interactive device to perform the behavior definedby the control data.

In yet another aspect of the invention a method is provided fordelivering and storing interactive device control data via a videosignal. The video signal is received during a transmission session andcontrol data is extracted from the video signal. Behavior defined by thecontrol data is performed during the transmission session and controldata is stored in a non-volatile memory in response to the receipt of astorage instruction within the extracted control data. After thetransmission session ends, the behavior defined by the control data isperformed.

In an alternative embodiment, the encoded video signal can also bepassed along to the receiving interactive device without decoding. Theinteractive device can store the received video signal data and then cantransmit the stored data to yet another device, which can, in turn,either store or decode the data.

That the invention improves over the drawbacks of the prior art andaccomplishes these advantages will become apparent from the followingdetailed description of the exemplary embodiments and the appendeddrawings and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a control system for delivering controldata to an interactive device via the horizontal overscan portion of avideo signal.

FIG. 2 is a block diagram illustrating the primary functional componentsof an exemplary interactive device.

FIG. 3 is a block diagram depicting the primary components of anexemplary control data word.

FIG. 4 is a flow chart that illustrates an exemplary method forprocessing control data words during and after a transmission session.

FIG. 5 is a flow chart that illustrates an exemplary method for storingcontrol data words that are extracted from an encoded video signal andfor performing behavior defined therein.

DETAILED DESCRIPTION

An exemplary embodiment of the invention is a system and method fordecoding and storing control data received via the horizontal overscanarea of a video signal. A method and system for encoding control datainto the horizontal overscan area of a video signal is provided in aco-pending U.S. patent application Ser. No. 08/885,385, which is acontinuation-in-part of U.S. patent application Ser. No. 08,795,710.Both of these applications are assigned to the Assignee of the presentapplication, Microsoft Corporation, and both applications are herebyincorporated by reference. For the purposes of the following discussion,it is assumed that control data (also called behavior data) has beenencoded into the horizontal overscan portion of a video signal.

The present invention may be deployed in a wireless or hard-wiredcommunication environment that includes an interactive device, such asan interactive toy, and a decoder that extracts control data from avideo signal and provides it to the interactive device. The interactivedevice may include a controller and several electromechanical outputdevices, such as servo-motors, voice synthesizer, and visual devices,such as light bulbs or LEDs. The controller receives control data fromthe decoder and controls the output devices in accordance with thecontrol data received from the decoder. The controller also can storethe received control data in a memory that is also part of theinteractive device.

Control data can be transmitted from the decoder to the controller bymany well-known means of data transmission. In an exemplary embodiment,the decoder has an infrared transmitter and the interactive device hasan infrared receiver. The control data can be transmitted from thetransmitter to the receiver in discrete data words over a shortdistance. Preferably, the decoder has a surface (or base station) uponwhich the interactive device can be placed to minimize the distancebetween the transmitter and the receiver.

Control data that is encoded into the video signal may include noise orother erroneous data. In an exemplary embodiment, the controller canstore received control data in association with a sequence code. Duringa particular transmission period (e.g., during a television program),the controller may receive repeated transmissions of the same controldata word. Identical control data words have the same sequence number.The controller may replace a previously stored data word with a morerecently received data word if the more recent data word has fewererrors in the control data contained therein. A well known gradingprocedure can be used to determine the quality grade (i.e., number oferrors) of a particular data word. When each data word is stored inmemory, the grade associated with the word can also be stored in memory.By comparing the quality grade of a stored data word with that of arecently received data word, the controller can replace lower qualitydata words with higher quality data words.

An Exemplary Interactive Device Control System

Referring now to the drawings, in which like numerals represent likeelements throughout the several figures, aspects of the presentinvention and exemplary operating environments will be described.

FIG. 1 illustrates an exemplary environment for embodiments of thepresent invention. The depicted environment may be operated as alearning and entertainment system for a child. The environment includesa control system 10 that provides control data to an interactive device,such as interactive toy 100. An exemplary control system 10 includes avideo signal source 102, a decoder/base station 104, and a displaydevice, such as television 106. The control system 10 transmits controldata to the interactive toy 100 via decoder 104. To accomplish thistask, the decoder 104 interfaces with the audio/video signal source 102and the television 106 through a standard video interface. Over thisstandard video interface, the decoder 104 receives a video signalencoded with control data (encoded video) from the video signal source102. The decoder 104 extracts the control data from the encoded videosignal, and then transfers the control data to the interactive toy 100.

The control system may also have a video tape player 108. The video tapeplayer 108 can also provide control data that is stored on a video tapeplayed by the video tape player. The video tape player 108 can transmitan encoded video signal to the decoder 104 over a video out line 110that can be directly connected to the decoder. When the control systemis configured with a video tape player 108, as depicted, control datamay be provided from either the video signal source 102 or the videotape player 108. This is advantageous, because it is desirable toprovide control data both through televised programs (via the videosignal source 102) and through taped programs (via the video tape player108). When control data is provided via the video signal source 102, theencoded video signal will simply pass through the video tape player 108.

In either case, the video signal will be passed through the decoder 104to the television 106, which will present the encoded video signal inthe conventional manner. Thus, a user can observe the video presentationon the television 106 while the decoder 104 transmits control data tothe interactive toy 100. The reception of the control data may cause theinteractive toy 100 to move and talk as though it is a character in thevideo program presented on the television 106.

There is no need to modify the encoded video signal before passing it tothe television 106. Typically, the decoder 104 receives the encodedvideo signal, which is a standard video signal that has been modified toinclude digital information in the horizontal overscan intervals of thescan lines, which are not displayed on the television 106. Thus, thetelevision 106 can receive and display the encoded video signal withoutmodification. The decoder 104 only needs to extract the control datafrom the encoded video signal and transmit the control data to theinteractive toy 100.

In an alternative embodiment, the encoded signal may be delivered byanother data transmission means, such as via a computer (not shown). Inthis embodiment, the decoder 104 could receive encoded data from thecomputer during a transmission session and could extract the controldata. The decoder 104 could then pass the control data along to theinteractive toy 100 which could store the control data and perform thebehavior defined by the control data during or after the transmissionsession. A transmission session may be, for example, the period duringwhich a particular computer application is executing.

An Exemplary Interactive Device

FIG. 2 is a block diagram illustrating the primary functional componentsof an exemplary interactive device 200. As described in connection withFIG. 1, the interactive device 200 receives control data in the form ofa series of data words from the decoder 208 by way of infrared receiver206. The infrared receiver 206 then passes the control data to thecontroller 202. The controller 202 can store the control data in memory204 or can cause the interactive device 200 to perform the behaviordefined by the control data by controlling electromechanical devices210–214. Alternatively, the controller 202 can retrieve control datafrom memory 204 and cause the interactive device 200 to perform thebehavior defined by the control data. In another alternative embodiment,the controller 202 can cause the interactive device 200 to perform thebehavior defined by the control data in real-time (i.e., as it is beingreceived), without storing the control data in the memory 204.

In an alternative embodiment, the decoder 208 could transmit controldata by a means other than the described infrared signal. For example,the control data could be transmitted by a radio frequency (RF) signal,whereby the decoder 208 and the interactive device 200 could beseparated by a significant distance during transmission of control data.In another alternative embodiment, the decoder may be implemented as anintegral part of the interactive device 200. In yet another alternativeembodiment, the encoded video signal can also be passed along to thereceiving interactive device without decoding. The interactive device ofthis embodiment can store the received video signal data and then cantransmit the stored data to yet another device, which can, in turn,either store or decode the data.

It will be appreciated that the electromechanical devices 210–214 aremerely examples of devices that could be incorporated into aninteractive device. In response to received control data, the controller202 may run a motor 210 to cause an interactive toy's limb to move.Alternatively, the controller 202 may provide speech data to drive aspeech synthesizer to produce audio output through a speaker (not shown)or may turn on a light 214 or other visual display device. These devicesare preferably controlled to coordinate the behavior of the interactivedevice 200 with a televised program or to teach the interactive devicebehavior that can be performed subsequent to the televised program. Theperiod during which control data is received by the interactive device200 (whether via a broadcast or via video tape play-back) is referred toas the transmission session.

Importantly, an exemplary embodiment of the interactive device 200 isequipped with a non-volatile memory 204. The memory 204 permits thestorage of control data that can control the behavior of the interactivedevice 200 even after the encoded video signal stops providing controldata. Generally, this means that the behavior of the interactive device200 persists despite the termination of control data flow into theinfrared receiver 206. More practically, this means that an interactivedevice can be programmed to exhibit behavior that is “learned” duringthe transmission session of an encoded video signal, long after thetransmission session has ended. Accordingly, in an exemplary embodimentof the interactive device 200, the device could perform behavior definedby the control data during and/or after the transmission session.

It will be appreciated by those skilled in the art that the interactivedevice 200 can be an interactive toy, but could also be implemented asany other device that is capable of receiving and processing controldata. An example of another interactive device is an electronic couponwhich is described and claimed in a co-pending application filed on Dec.30, 1999 with U.S. patent application Ser. No. 09/476,291 assigned toMicrosoft Corporation. This co-pending application is herebyincorporated by reference.

An Exemplary Control Data Word

FIG. 3 is a block diagram that illustrates the primary components of anexemplary control data word 300. Data word 300 includes three maincomponents, a genus code 302, a sequence code 304, and control data 306.In an exemplary embodiment, the genus code is 16 bits in length, thesequence code is 8 bits in length, and the control data is 64 bits inlength.

The genus code 302 is used to identify the interactive device to whichthe control data 306 is directed. The genus code 302 enables the controlsystem 10 (FIG. 1) to avert a situation in which an interactive devicereceives and performs behavior that was intended for another interactivedevice. Additionally, use of the genus code 302 permits the receipt ofcontrol data by more than one interactive device during the sametransmission session, without delivering control data to the wronginteractive device. For example, a video program may involve more thanone character, each represented by a separate interactive toy. A usercan teach each interactive toy new and separate behavior during the samevideo program, because each interactive toy will receive only thecontrol data with the proper genus code and will ignore the control datawith a different genus code. Genus code filtering can be done by thedecoder 208 (FIG. 2) or by the controller 202 (FIG. 2) of theinteractive device 200 (FIG. 2).

The sequence code 304 is used to identify control codes delivered to theinteractive device during a transmission session. Each unique controlcode word that is delivered during a transmission session has a uniquesequence code 304. The sequence code is useful primarily for tworeasons. First, the control data can be ordered in memory, based on thesequence code of the control data word. When the interactive deviceperforms the behavior defined by the control codes in memory, the codescan be performed in order. Thus, the performed behavior can beserialized, such that each stored control word is performed in aparticular order. Of course, the controller can also cause the controldata to be performed in random order.

Second, the sequence code enables the minimization of the effects ofdata errors. Because video signal deterioration can cause theintroduction of data errors into the control data 306 duringtransmission, a method for reducing the effects of such errors isprovided in an exemplary embodiment of the present invention. When thecontroller receives a control data word 306, the controller analyzes thecontrol data to identify errors. This analysis can be any one of anumber of well known means for identifying errors in transmitted data.For example, the control data might include a checksum in a predefinedlocation that can be compared against the received control data todetermine whether the control data contains an error. The controller canthen assign the control data word 300 an error grade, that reflects thenumber or significance of errors identified in the control data 306. Theerror grade can be stored in memory in association with the control dataword 300.

The quality of the stored control data words can be maximized byrepeating the transmission of control data words having the samesequence number. When the controller receives a control data word 300having a new sequence number, then the controller simply saves the dataword in memory. When the controller receives a data word having asequence number matching another data word that is already stored inmemory, then the controller may replace the previously stored data wordwith the newly received data word. To make this determination, thecontroller generates an error grade for the newly received data word andcompares the error grade to the error grade that has been stored inassociation with the previously stored data word. If the error grade forthe newly received data word is greater (i.e., fewer or less significanterrors in the control data) than that of the previously stored dataword, then the controller will replace the previously stored data wordwith the newly received data word in memory. The error grade for thenewly received data word will be stored in association with the newlyreceived data word in memory.

The control data 306 component of the control data word 300 can includevarious kinds of data and can be any length suitable for the intendedinteractive device. Most importantly, it contains the control data thatdefines the behavior to be performed by the interactive device. However,it can also contain other data, such as the checksum value describedabove. In an alternative embodiment, the control data 306 component alsocan include an instruction as to whether the data word should be storedin memory or not stored in memory. In another alternative embodiment,the control data 306 component also can include an instruction as towhether the behavior defined by the control data in the data word shouldbe performed in real-time (i.e., during the transmission session). Thoseskilled in the art will appreciate that the control data word can beformatted in various ways to provide control data to an interactivedevice.

An Exemplary Method for Processing Control Data

FIG. 4 is a flow chart that illustrates an exemplary method forprocessing control data words during and after a transmission session.The method starts at step 400 and proceeds to step 402, wherein thetransmission session begins. Normally, this will happen when atelevision show is broadcast or a video tape is played-back thatincludes control data encoded within the video signal. The methodproceeds to step 404, in which the interactive device enters areceive/perform mode. In this mode, an exemplary interactive device isenabled to receive and store control data. In an alternative embodiment,the interactive device is enabled to perform the behavior defined by thecontrol data in real-time. The method then proceeds to step 406 whereinthe transmission session ends. Typically, this will occur when thetelevision program or video tape program is over or when thetransmission of control data is terminated. The method then proceeds tostep 408, wherein the interactive device switches to perform-only mode.In perform only mode, the interactive device is no longer receivingcontrol data, but simply performs the behavior defined by the controldata stored in the interactive device's memory.

It should be appreciated that the interactive device can be switchedbetween Receive/Perform mode and Perform-only mode in various ways. Inan exemplary embodiment, the interactive device could be equipped with aswitch that the user can operate to select between these modes.Alternatively, the interactive device may be programmed to automaticallyselect an appropriate mode. For example, if the interactive device ispowered-up and does not detect a control data transmission at itsinfrared receiver, then the interactive device may automatically selectPerform-only mode. If, on the other hand, the interactive device detectsthe transmission of control data, then the interactive device mayautomatically select Receive/Perform mode.

A more detailed description of step 404, the Receive/Perform mode, isprovided below in connection with FIG. 5.

An Exemplary Method for Storing Control Data

FIG. 5 is a flow chart that illustrates an exemplary method for storingcontrol data words that are extracted from an encoded video signal. Themethod starts at step 500 and proceeds to step 502 in which a controldata word is received from the decoder. The method then proceeds to step504 and a determination is made as to whether the control data wordincludes a genus code corresponding to the interactive device. If thegenus code does not match that of the interactive device, then the genuscode is meant for another interactive device, and the method branchesback to step 500. Alternatively, if the genus code matches that of theinteractive device, then the method branches along the “Yes” path todecision block 506. At decision block 506, a determination is made as towhether the data word includes a storage instruction. If the data worddoes not include a storage instruction, then the method branches todecision block 518. On the other hand, if the data word includes astorage instruction, then the method branches to step 508.

At step 508, the sequence code for the received data word is determined.The method then proceeds to step 510 and the quality grade is determinedfor the data word. Those skilled in the art will appreciate that variouswell known methods exist for determining and grading the quality of datathat has been transmitted. Once a quality grade has been determined forthe data word, the method branches to decision block 512 and adetermination is made as to whether a data word with the same sequencecode has been previously stored in memory. If one has not been, then themethod branches to step 516 and the data word is stored in memory withits sequence code and its quality grade. On the other hand, if a dataword with the same sequence code has been previously stored in memorythe method branches to decision block 514, wherein a determination ismade as to whether the quality grade of the current data word is greater(i.e., better) than the quality grade of the previously stored dataword. If not, then the method branches back to step 500. On the otherhand, if the quality grade of the current data word is greater than thequality grade of the previously stored data word, then the current dataword is stored in memory with its sequence code and its quality grade.Notably, the current data word will replace the previously received dataword, having the same sequence number. Once the data word is stored inmemory in step 516, then the method proceeds to step 500.

Returning now to decision block 506, if the received data word does notinclude a storage instruction, then the method branches to decisionblock 518. At decision block 518, a determination is made as to whetherthe received data word includes a performance instruction. If it does,then the method branches to step 520 and the interactive device performsthe behavior defined by the received control data word.

The invention thus provides a method and system for decoding and storingencoded control data delivered via the horizontal overscan area of avideo signal. An interactive device such as an interactive toy performsbehavior defined by control data that can be encoded into a video signalthat can be broadcast or played-back from video tape. The interactivedevice is equipped with a non-volatile memory that permits the controldata to be stored for performance subsequent to the transmission session(e.g., a televised program). The interactive device also may be equippedto perform behavior during the transmission session. The control data isdelivered as a series of control data words that include genus codes andsequence codes. Genus codes identify the interactive device to which thedata word is directed, so that a particular interactive device willrespond (i.e., perform behavior) only in accordance with the controldata words including the appropriate genus code. Because videotransmissions are subject to video signal deterioration, error gradingis used to minimize the effect of such signal deterioration. During agiven control data transmission session, control data words will berepeated, so that an interactive device receives several control datawords with the same sequence number. Based on the relative gradings, theinteractive device will replace previously received control data wordsof lower quality than subsequently received data words having the samesequence number.

It should be understood that the foregoing relates only to specificembodiments of the invention, and that numerous changes may be madetherein without departing from the spirit and scope of the invention asdefined by the following claims.

1. A method for delivering and storing control data for an interactivedevice using a horizontal overscan portion of a video signal, the methodcomprising the steps of: receiving the video signal during atransmission session, the transmission session comprising a plurality offrames, wherein the plurality of frames defines a program that isdisplayed to a viewer during the transmission session; extractingcontrol words from the horizontal overscan portion of the video signal,each control word comprising a plurality of data bits, the plurality ofdata bits defining a sequence code and the control data, the sequencecode facilitating error grading, each control word that includes thesame control data also having the same sequence code; where for eachcontrol word, the method further comprises the steps of: using thesequence code to determine an error grade for the control word; anddetermining if the control word is already stored in the interactivedevice; and if not, storing the control word in the interactive device;else storing the control word having a higher quality as indicated bythe error grade in the interactive device, and discarding the controlword having a lower quality as indicated by the error grade; andfollowing the transmission session, when the program is no longer beingdisplayed to the viewer, performing a behavior defined by the controldata of each control word stored in the interactive device.
 2. Themethod of claim 1, wherein the control data in each control wordcomprise sixty-four bits.
 3. The method of claim 1, wherein the sequencecode in each control word comprises eight bits.
 4. The method of claim1, further comprising the step of performing behavior defined by thecontrol data during the program.
 5. The method of claim 1, wherein thecontrol data comprises a first type of control data corresponding tocontrol data that is to be used by an interactive device during thetransmission session while the program is being displayed to the viewer,and a second type of control data corresponding to control data that isto be used by the interactive device after the transmission session,when the program is no longer being displayed to the viewer, and furthercomprising the step of storing the second type of control data in anon-volatile memory contained within the interactive device.
 6. Themethod of claim 5, wherein the step of storing the second type ofcontrol data is performed in response to the receipt of a storageinstruction within the extracted control data.
 7. The method of claim 5,further comprising the step of retrieving the second type of controldata from the memory contained within the interactive device prior toperforming the behavior defined thereby.
 8. The method of claim 1,wherein the step of performing the behavior defined by the control dataof each control word stored in the interactive device comprises the stepof analyzing the sequence code of each control word stored in theinteractive device to determine an order with which the behavior definedby the control data of each control word stored in the interactivedevice is to be performed.
 9. The method of claim 1, wherein the videosignal includes control data for a plurality of different interactivedevices, and the plurality of data bits further defines a genus code,the genus code indicating a specific one of the plurality of differentinteractive devices for which the control data are intended, and foreach control word, the method further comprises the steps of: using thegenus code to determine for which one of the plurality of differentinteractive devices the control word is intended; transmitting thecontrol word only to the one of the plurality of interactive devices forwhich it is intended, such that after the transmission session, thebehavior defined by the control data of the control word is performedonly by the one of the plurality of interactive devices.
 10. The methodof claim 1, wherein the video signal includes control data for aplurality of different interactive devices, and the plurality of databits further defines a genus code, the genus code indicating one of theplurality of different interactive devices for which the control dataare intended, and for each control word, the method further comprisesthe steps of: transmitting the control word to each of the plurality ofdifferent interactive devices, so that each of the plurality ofdifferent interactive devices performs the following steps: using thegenus code of the control word to determine if the control word isintended for the interactive device that is carrying out this step; andstoring only control words corresponding to the interactive device forwhich the control word was intended, such that after the transmissionsession, the behavior defined by the control data of any control wordsstored is performed only by the interactive device that stored any suchcontrol words.
 11. The method of claim 10, wherein each of the pluralityof different interactive devices further performs the step of discardingeach control word that is intended for a different one of the pluralityof different interactive devices.
 12. The method of claim 10, whereineach of the plurality of different interactive devices further performsthe step of transmitting each control word that is intended for adifferent one of the plurality of different interactive devices toanother one of the plurality of different interactive devices.
 13. Themethod of claim 4, wherein the behavior defined by the control datacomprises storing the received control data in a non-volatile memorycontained within the interactive device for subsequent transmission toanother device.
 14. A system for delivering and storing control data foran interactive device using a horizontal overscan portion of a videosignal, the system comprising: a decoder operative to extract controlwords from a horizontal overscan portion of a video signal during atransmission session, the transmission session comprising a plurality offrames, wherein the plurality of frames defines a program that isdisplayed to a viewer during the transmission session, each control wordcomprising a plurality of data bits, the plurality of data bits defininga sequence code and the control data for the interactive device, thesequence code facilitating error grading, each control word thatincludes the same control data also having the same sequence code; awireless transmitter operative to transmit control words that areextracted to the interactive device; and the interactive device beingoperative to perform a behavior defined by the control data for theinteractive device, the interactive device comprising: a non-volatilememory operative to store control words received during the transmissionsession for use by the interactive device after the transmission sessionhas ended and the program is no longer displayed to the viewer, and acontroller operative to: analyze each control word received to determinean error grade corresponding to that control word; determine if acontrol word having the same sequence code has already been received andstored in the non-volatile memory, and if not, then storing the controlword in the non-volatile memory, else, determining which of the controlwords having the same sequence code is of a higher quality, by comparingthe error grades of the control words having the same sequence code,such that the control word of the higher quality having the samesequence code is stored in the non-volatile memory, and the othercontrol word having the same sequence code is discarded; after thetransmission session, retrieve each control word stored in thenon-volatile memory and cause the interactive device to perform thebehavior defined by the control data of each control word stored in thenon-volatile memory.
 15. The system of claim 14, wherein the decoder isintegrated within the interactive device.
 16. The system of claim 14,wherein the wireless transmitter is a radio frequency transmitter, andthe interactive device includes a radio frequency receiver.
 17. Thesystem of claim 14, wherein the controller is further operative toanalyze the sequence code of each control word stored in thenon-volatile memory to determine an order in which the behavior definedby the control data of each control word stored in the non-volatilememory is to be performed.
 18. The system of claim 14, wherein thewireless transmitter is an infrared transmitter, and the interactivedevice includes an infrared receiver.
 19. The system of claim 14,further comprising at least one additional interactive device, whereinthe plurality of data bits in each control word further defines a genuscode, the controller of each interactive device being operative toanalyze the genus code of each control word received, so that onlycontrol words having a genus code corresponding to a specificinteractive device are stored in the non-volatile memory of the specificinteractive device.
 20. The system of claim 14, further comprising atleast one additional interactive device, wherein the plurality of databits in each control word further define a genus code, the decoder usingthe genus code of each control word to determine for which of theinteractive devices the control word is intended, so that each controlword is transmitted only to the interactive device thus identified bythe genus code.
 21. A method for delivering and storing control data foran interactive device via the horizontal overscan portion of a videosignal, the method comprising the steps of: receiving the video signalduring a transmission session, the transmission session comprising aplurality of frames, wherein the plurality of frames defines a programthat is displayed to a viewer during the transmission session;extracting control words from the horizontal overscan portion of thevideo signal, each control word comprising a plurality of data bits, theplurality of data bits defining a genus code, a sequence code, and thecontrol data for the interactive device, the genus code identifying aspecific interactive device for which the interactive device controldata is intended; transmitting each control word that was extracted tothe specific interactive device identified by the genus code, such thateach interactive device receiving a control word executes the followingsteps: determining an error grade for the control word using thesequence code; determining if the control word is already stored in theinteractive device; and if not, storing the control word in theinteractive device; else storing a control word having less errors, asindicated by its error grade, in the interactive device and discarding acontrol word having more errors, as indicated by its error grade; andfollowing the transmission session while the program is no longer beingdisplayed to the viewer, performing a behavior defined by the controldata for the interactive device.